package net.dodoman;

import java.util.*;

class ClsUsage {

	public ClsUsage() {

	}

	public static void main(String args[]) {
		System.out.println("Starting ClsUsage...");
		ISplitPage isp = new userPage(12);
		isp.firstPage();
		while (isp.hasPages()) {
			isp.nextPage();
		}

	}
}

interface ISplitPage {
	void firstPage();

	void nextPage();

	boolean hasPages();
}

class dateObj {
	private String name;
	private int age;
	private boolean sex;
	private int id;
	public static int personID;
	static {
		personID = 1000;
	}

	public dateObj(String na, int ag, boolean sx) {
		name = na;
		age = ag;
		sex = sx;
		id = dateObj.personID++;
	}

	public dateObj(String na, int ag) {
		name = na;
		age = ag;
		sex = true;
		id = dateObj.personID++;
	}

	public int getId() {
		return id;
	}

	public String getName() {
		return name;
	}

	public void setName(String na) {
		name = na;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int dg) {
		age = dg;
	}

	public boolean isSex() {
		return this.sex;
	}

	public void setSex(boolean sx) {
		sex = sx;
	}

	public String toString() {
		return "" + id + "-" + name + "-" + age + "-" + sex;
	}
}

class userPage implements ISplitPage {
	// which can be accessed with itself or son
	// 与自身或子类所在的包无关
	protected int pageCount;
	protected int pageIndex;
	protected java.util.Vector list;

	public userPage(int pages) {
		if (pages <= 0)
			this.pageCount = 10;
		int age = 20;
		boolean sex = false;
		list = new Vector();
		for (int i = 0; i < pages; i++) {
			String na = "" + i + "";
			dateObj ob = new dateObj(na, age + i, sex);
			sex = !sex;
			list.addElement(ob);
		}
		this.pageCount = pages;
		this.pageIndex = 1;
	}

	public void firstPage() {
		pageIndex = 1;
		dateObj ob = (dateObj) list.get(pageIndex - 1);
		System.out.println("第一页" + ob.toString());
	}

	public void nextPage() {
		pageIndex++;
		if (pageIndex <= this.pageCount) {
			dateObj ob = (dateObj) list.get(pageIndex - 1);
			System.out.println("第" + pageIndex + "页" + ob.toString());
		}

	}

	public boolean hasPages() {
		return pageIndex <= pageCount;
	}
}
